返回
转到题目
思路 1(偏向逆向思维)
首先,我们已知的操作有:
remove "33"
操作-33
操作
我们从结果倒推:
- 我们想得到0,观察一下可能的操作,发现只可能是由 操作 2
(-33)
来的。- 一旦某个数是33的倍数,这个数就可以通过 **操作 2** (-33) 一直减到0。
到这里我们可以得出第一条结论:
能被33整除的数一定是可行的
。
-
那么,考虑不能被33整除的数呢?
- 我们希望可以通过 操作 1 (
remove 33
) 将其变成33的倍数。 - 设一个数为
ab33c
,且它不是33的倍数。 - 执行操作
remove 33
后,数变为abc
。 - 我们希望
abc
是33的倍数。
观察变化过程:
ab33c -> abc
- 变化量为
(ab33c - abc) = (ab0 * 100 + c) - (abc) = ab0 * (100 - 1) + (c - c) = 99ab0
。 -
变化量是 99 * ab0,它必定是33的倍数。
- 总结:这时候,我们可以得出结论:
- 不为33倍数的数,经过
remove 33
操作后,最终变成33的倍数。
- 不为33倍数的数,经过
- 我们希望可以通过 操作 1 (
- 然而,第二种情况 的
结论
与假设
发生矛盾,因此假设不成立
。 - 因此,要想最终变成0,初始数必须是33的倍数。
思路 2(偏向观察力)
- 我们可以通过操作 2
(-33)
将一个33的倍数变成0。 - 观察操作 1 (
remove 33
) 时,我们发现每次操作的变化量最少是33,并且始终是33的倍数。 - 也就是说,操作 1 并不会改变原始数是否是33的倍数。
因此,我们可以得出结论:
-
变成0的唯一条件是,数本身必须是33的倍数。